#ifndef _WX_VALGENH__
#define _WX_VALGENH__

#include "wx/validate.h"

class wxGenericValidator: public wxValidator {
    DECLARE_CLASS( wxGenericValidator )
  public:
    wxGenericValidator( bool* val );
    wxGenericValidator( int* val );
    wxGenericValidator( wxString* val );
    wxGenericValidator( wxArrayInt* val );
    wxGenericValidator( const wxGenericValidator& copyFrom );
    virtual ~wxGenericValidator() {}
    virtual wxObject *Clone() const { return new wxGenericValidator( *this ); }
    bool Copy( const wxGenericValidator& val );
    virtual bool Validate( wxWindow * ( parent ) ) { return true; }
    virtual bool TransferToWindow();
    virtual bool TransferFromWindow();
  protected:
    void Initialize();
    bool* m_pBool;
    int* m_pInt;
    wxString* m_pString;
    wxArrayInt* m_pArrayInt;
  private:
    wxGenericValidator& operator=( const wxGenericValidator& );
};

#endif
